package com.aliang.shopping.common;

import lombok.Getter;

/**
 * 统一返回结果状态信息类
 */
@Getter
public enum ResultCodeEnum {

    //基本结果码 200~210
    SUCCESS(200, "成功"),

    FAIL(201, "失败"),

    // 210~250 数据异常
    DATA_LACK(210, "缺少必要数据，请检查"),
    TYPE_NUM_ERR(211, "类型数字不合法，请检查！"),
    PASSWORD_LENGTH_ERR(212, "密码长度小于8位，请重新输入！"),
    PASSWORD_NOT_SAME(213, "两次输入的密码不一致，请重新输入！"),
    OLD_PASSWORD_NOT_WITH(214, "旧密码输入错误，请重新输入！"),
    PASSWORD_NOT_MATCH(218, "密码不正确，请重新输入！"),
    PHONE_NOT_LEGAL(215, "手机号格式不合法，请重新输入！"),
    EMAIL_NOT_LEGAL(215, "邮箱格式不合法，请重新输入！"),
    CAPTCHA_NOT_MATCH(218, "验证码不正确，请重新输入！"),
    HAS_CHILDREN_BY_DEL(219, "该分类下有子分类，请先删除子分类！"),
    HAS_CHILDREN_BY_UPDATE(219, "该分类下有子分类，请先禁用子分类！"),
    HAS_GOODS_SKU_BY_DEL(220, "该商品存在sku信息，请先删除sku信息！"),
    GOODS_SKU_IS_NOT_SELL(220, "没有sku信息，请先设置sku信息后再上架！"),
    GOODS_IS_NOT_EXIT(220, "没有该商品信息！"),
    SPEC_HAS_SKU(220, "该规格下存在sku信息，请删除sku后再操作！"),
    SPEC_IS_NOT_EXIT(220, "规格信息不存在！"),
    USER_IS_NOT_EXIT(221, "用户不存在，请联系管理员!"),
    USER_COLLECT_EXIST(222, "用户收藏已存在！"),
    EMAIL_NOT_EXIST(223, "邮箱未注册！"),
    PATH_IS_EXIT(224, "路径已存在！"),
    GOODS_SPEC_NUM_ERROR(225, "商品规格数量不正确，请设置规格后再上架！"),
    GOODS_STOCK_NOT_ENOUGH(226, "商品库存不够"),
    ORDERS_NOT_EXIT(227, "订单不存在"),
    BUSINESS_NOT_EXIST(228, "商家不存在，请检查数据"),
    ORDERS_UPDATE_BAD(229, "当前订单不允许修改！"),

    // 251~299 业务异常
    NOT_QUERY_RESULT(251, "查询结果为空"),
    USERNAME_IS_EXIT(252, "账号已存在！，请输入其他账号!"),
    USERNAME_IS_NOT_EXIT(253, "账号不存在，请输入其他账号！"),
    PHONE_IS_EXIT(254, "手机号已注册，请输入其他手机号！"),
    PHONE_NOT_EXIT(255, "手机号未注册，请输入其他手机号！"),
    PHONE_CODE_SEND_ERROR(256, "手机号验证码发送失败，请重试！"),
    PHONE_CODE_IS_SEND(256, "手机号验证码已发送，请注意查收！"),
    EMAIL_IS_EXIT(257, "邮箱已注册，请输入其他邮箱！"),
    EMAIL_NOT_EXIT(258, "邮箱未注册，请输入其他邮箱！"),
    EMAIL_CODE_SEND_ERROR(259, "邮箱验证码发送失败，请重试！"),
    EMAIL_CODE_IS_SEND(259, "邮箱验证码已发送，请注意查收！"),
    EMAIL_SEND_ERROR(259, "邮箱发送失败，请重试！"),
    PAY_ERROR(260, "支付异常"),
    PHONE_CODE_SEND_OVER(261, "您今日获取手机验证码次数已超过规定次数，无法再获取验证码！"),
    PROTECTION_REPEAT_SUBMIT(299, "请勿重复同一操作"),
    CHECK_INFO_NOT_EXIT(262,"审核信息不存在" ),
    ORDERS_CANCEL_BAD(263,"只有待支付订单才能取消！" ),
    //400~ 权限异常
    NOT_AUTHORIZED(400, "权限不足"),
    SIGN_INVALID(401, "签名无效"),
    TOKEN_INVALID(402, "token无效"),
    USER_NOT_LOGIN(403, "未登录，请登录后再操作！");

    private final Integer code;

    private final String message;

    ResultCodeEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
}